<?php

namespace App\Http\Controllers\Admin;

use App\Model\Article;
use App\Model\ArticleModel;
use App\Model\Category;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Input;
use Illuminate\Support\Facades\Validator;

class ArticleController extends CommonController
{
    //put/patch admin/article/{article} 更新文章
    public function update($art_id)
    {
//         dd(Input::except('_token','_method'));   //测试
           $input = Input::except('_token','_method');      //排除不要的字段
        //更新
           $re=Article::where('art_id',$art_id)->update($input);
//         dd($re);  //成功返回1，没有修改或者内容没变化返回0
//        成功判断
        if($re){
            return redirect('admin/article');
        }else{
            return back()->withErrors('文章更新失败，请稍后重试');
        }
    }

    //get admin/article/{article}/edit    编辑文章
    public function edit($art_id)
    {
//      echo $art_id;
//    分类中查询id
        $data = (new Category)->tree();         //调用public方法
        $field = Article::find($art_id);
       // dd($field);
        return view('admin.article.edit',compact('data','field'));
    }


    //get 过来的数据 admin/article 全部文章列表
    public function index()
    {
//        echo '全部文章列';
//        $data = Article::all(); //获取数据
        $data = Article::orderBy('art_id','DESC')->paginate(2);       //分页，每页2条数据;页面中就呈现几条,增加排序


        //dd($data->links()); //获取分页页数等html
        return view('admin.article.index',compact('data'));
    }

    //get admin/article/create 添加文章
    public function create()
    {

        $data = (new Category)->tree();         //调用public方法
        //dd($categorys);
        //$data=[];   //先占位
        return view('admin.article.add',compact('data'));
//       echo 'ty';
    }

    //post.admin/article 添加文章提交
    public function store()
    {
        $input = Input::except('_token');   //排除token
        $input['art_time'] = time(); //当前时间
       // dd(Input::all());
        //验证规则
        $rules = [
            'art_title'=>'required',      //必填
            'art_content'=>'required',      //必填
        ];
        $message =[
            'art_title.required'=>'文章名称 不能为空',  //指向提示信息
            'art_content.required'=>'文章内容 不能为空',
        ];

        //验证方法 字段，规则，自定义提示信息
        $validator = Validator::make($input,$rules,$message);
        //判断验证成功失败
        if($validator->passes()){
            //通过验证则写入
            //模型入库
            $re= Article::create($input);
//dd($re);
            if($re){
                return redirect('admin/article');
            }else{
                return back()->withErrors('数据填充失败，请稍后再试！');
            }
        }else{
            return back()->withErrors($validator);
        }



        //dd($re);
//        if($re){
//            return redirect('admin/article');
//        }else{
//            return back()->withErrors('数据填充失败，请稍后再试！');
//        }
    }
}
